x86_64: Ensure enough space for allocator bitmap after relocated Xen image.
authorKeir Fraser <keir.fraser@citrix.com>
Wed, 11 Feb 2009 10:41:45 +0000 (10:41 +0000)
committerKeir Fraser <keir.fraser@citrix.com>
Wed, 11 Feb 2009 10:41:45 +0000 (10:41 +0000)
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
xen/arch/x86/setup.c

index 6fbe1e4e4ae67d36e72a34fd325b46238450bd18..996b52828a9c5751f586a927ae981eca5170b06a 100644 (file)
@@ -642,7 +642,8 @@ void __init __start_xen(unsigned long mbi_p)
             s >> PAGE_SHIFT, (e-s) >> PAGE_SHIFT, PAGE_HYPERVISOR);
 
 #if defined(CONFIG_X86_64)
-#define reloc_size ((__pa(&_end) + mask) & ~mask)
+/* Relocate Xen image, allocation bitmap, and one page of padding. */
+#define reloc_size ((__pa(&_end) + max_page/8 + PAGE_SIZE + mask) & ~mask)
         /* Is the region suitable for relocating Xen? */
         if ( !xen_phys_start && ((e-s) >= reloc_size) )
         {